1. Field of the Invention
The present invention relates generally to a method and apparatus for the cancellation of interference in the reception of wide-band, sequence encoded waveforms, and more particularly to a method and apparatus for the construction of interference matrices for a Coded Signal Processing Engine (CSPE) with the intent to cancel interference and improve reception, in terms of signal-to-noise (SNR) and bit error rate (BER). The CSPE may be used to improve the acquisition, tracking and demodulation of a sequence encoded (spread spectrum) signal in an interference-limited environment, where interference is defined as signals intended for other receivers. Such improvements may enhance capacity, coverage and data rates of spread spectrum systems, such as those that employ code-division multiple access (CDMA). Furthermore, such improvements may enhance the ability to determine the receiver's geographical location, namely a mobile unit in a cellular system (geo-location).
2. Description of the Prior Art
In spread spectrum systems, whether it is a wireless communication system, a Global Positioning System (GPS) or a radar system, each transmitter may be assigned a unique code and in many instances each transmission from a transmitter is assigned a unique code. The code is nothing more than a sequence (often pseudorandom) of bits. Examples of codes include Gold codes (used in GPS—see Kaplan, Elliot D., Editor, Understanding GPS: Principles and Applications, Artech House 1996), Barker codes (used in radar—see Stimson, G. W., “An Introduction to Airborne Radar”, SciTech Publishing Inc., 1998) and Walsh codes (used in communications systems, such as cdmaOne—See IS-95). These spreading codes may be used to spread the signal across a specified range of frequencies in the electromagnetic spectrum.
Assigning a unique code to each transmitter allows the receiver to distinguish between different transmitters. An example of a spread spectrum system that uses unique codes to distinguish between transmitters is a GPS system.
In some instances, such as in a coded radar system, each pulse is assigned a unique code so that the receiver is able to distinguish between different pulses by the codes.
If a single transmitter has to broadcast different messages to different receivers, such as a base station in a wireless communication system broadcasting to multiple mobiles, one may use codes to distinguish between messages for each mobile. In this scenario, each symbol for a particular user is encoded using the code assigned to that user. By coding in this manner, the receiver, by knowing its own code, may decipher the message intended for it from the superposition of message signals received.
In some communication systems, a symbol is assigned to a sequence of bits that comprise a message. For example, a digital message may be grouped into sets of M bit sequences where each unique sequence is assigned a symbol. For example, if M=6, then each set of 6 bits may assume one of 26=64 possibilities. Such a system would broadcast a waveform, called a symbol, which would represent a sequence of transmitted bits. For example, the symbol α might denote the sequence 101101 and the symbol β might denote the sequence 110010. In a spread spectrum system, these symbols are referred to as codes. An example of such a communication system is the mobile to base station (forward/down) link of cdmaOne.
Of course, all of these techniques may be combined to distinguish between transmitters, messages, pulses and symbols in a single system. The key idea in all of these coded systems is that the receiver knows the code(s) of the message intended for it. By applying the code(s) correctly to the received signal, the receiver may extract the message for which it is intended. However, such receivers are more complex than receivers that distinguish between messages by time and/or frequency alone. Complexity arises because the signal received is a linear combination of all the coded signals present in the spectrum of interest at any given time. The receiver must be able to extract the message intended for it from this linear combination of coded signals.
The following section presents the problem of interference in linear algebraic terms and provides a method by which it may be cancelled.
Let H be a matrix containing the spread signal from source number 1 and let θ1 be the amplitude of the signal from this source. Let si be the spread signals for the remaining sources and let φi be the corresponding amplitudes. Suppose that the receiver is interested in source number 1. The signals from the other sources may be considered to be interference. The received signal is:y=Hθ1+s2φ2+s3φ3+ . . . +spφp+n  (1)
where n is the additive noise term and p is the number of sources in the spread spectrum system. Let the length of the vector y be N, where N is the number of points in the integration window. The value of N is selected as part of the design process and is a trade-off between processing gain and complexity. N consecutive points of y will be referred to as a segment corresponding to a correlation length.
In a wireless communication system, the columns of the matrix H represent the various coded signals of interest and the elements of the vector θ are the amplitudes of the respective coded signals. For example, in the base station to mobile link of a cdmaOne system, the coded signals may include the various channels, i.e., pilot, paging, synchronization and traffic, of each base station's line-of-sight (LOS) or multipath signals. In the mobile to base station link, the columns of the matrix H may be the coded signals from a mobile LOS and/or one of its multipath signals.
In a GPS system, the columns of the matrix H are the coded signals being broadcast by the GPS satellites at the appropriate code, phase and frequency offsets.
In an array application, the columns of the matrix are steering vectors, or equivalent array pattern vectors. These vectors characterize the relative phase recorded by each antenna in the array as a function of the location and motion dynamics of the source as well as the arrangement of the antennas in the array. In the model presented above, each column of the matrix H signifies a steering vector corresponding to a particular source.
Equation (1) may now be written in the following matrix form:
                                                        y              =                                                H                  ⁢                                                                          ⁢                  θ                                +                                  S                  ⁢                                                                          ⁢                  ϕ                                +                n                                                                                        =                                                                    [                    HS                    ]                                    ⁡                                      [                                                                                            θ                                                                                                                      ϕ                                                                                      ]                                                  +                n                                                                        (        2        )            
where                H: spread signal matrix of the signal of interest        θ: amplitude vector of the source of interest        S=[s2 . . . sp]: spread signal matrix of all the other signals, i.e., the interference        φ=[φ2 . . . φp]: interference amplitude vector        
Baseline receivers correlate the measurement, y, with a replica of H or a column vector of H to determine if H or the column vector is present in the measurement. If H is detected, then the receiver knows the bit-stream transmitted by source number 1. Mathematically, this correlation operation is:correlation function=(HTH)−1HTy  (3)
where T is the transpose operation.
Substituting for y from equation (2) illustrates the source of the power control requirement:
                                                                                                              (                                                                  H                        T                                            ⁢                      H                                        )                                                        -                    1                                                  ⁢                                  H                  T                                ⁢                y                            =                                                                    (                                                                  H                        T                                            ⁢                      H                                        )                                                        -                    1                                                  ⁢                                                      H                    T                                    ⁡                                      (                                                                  H                        ⁢                                                                                                  ⁢                        θ                                            +                                              S                        ⁢                                                                                                  ⁢                        ϕ                                            +                      n                                        )                                                                                                                          =                                                                                          (                                                                        H                          T                                                ⁢                        H                                            )                                                              -                      1                                                        ⁢                                      H                    T                                    ⁢                  H                  ⁢                                                                          ⁢                  θ                                +                                                                            (                                                                        H                          T                                                ⁢                        H                                            )                                                              -                      1                                                        ⁢                                      H                    T                                    ⁢                  S                  ⁢                                                                          ⁢                  ϕ                                +                                                                            (                                                                        H                          T                                                ⁢                        H                                            )                                                              -                      1                                                        ⁢                                      H                    T                                    ⁢                  n                                                                                                        =                              θ                +                                                                            (                                                                        H                          T                                                ⁢                        H                                            )                                                              -                      1                                                        ⁢                                      H                    T                                    ⁢                  S                  ⁢                                                                          ⁢                  ϕ                                +                                                                            (                                                                        H                          T                                                ⁢                        H                                            )                                                              -                      1                                                        ⁢                                      H                    T                                    ⁢                  n                                                                                        (        4        )            
The middle term, (HTH)−1HTSφ, in the above equation is the source of the near-far problem. If the codes are orthogonal, then this term reduces to zero, which implies that the receiver has to detect θ in the presence of noise, i.e., (HTH)−1HTn only. As the amplitudes of the other sources with non-orthogonal codes increase, the term (HTH)−1HTSφ contributes a significant amount to the correlation, which interferes with the detection of θ.
The normalized correlation function, (HTH)−1HT, defined above, is in fact a matched filter and is based on an orthogonal projection of y onto the space spanned by H. When H and S are not orthogonal to each other, there is leakage of the components of S into the orthogonal projection of y onto H. This leakage is geometrically illustrated in FIG. 1. Note in FIG. 1, that if S were orthogonal to H, the leakage component is zero as is evident from equation 4. The CSPE utilizes projective methods to provide a solution to this interference leakage issue.
The coded signal-processing engine (CSPE) was designed to address non-orthogonal leakage. The CSPE may mitigate at least two types of interference: cross-channel and co-channel. The first kind of interference results from one source's signals bleeding into the acquisition and tracking channels of another source. This will be referred to as cross-channel interference. The second type of interference occurs when one or more signals, e.g, a line-of-sight and/or multipath signal, interfere with the ability to acquire a second, third or fourth multipath signal from the same source. This type of interference will be referred to as co-channel interference.
The analysis of cross-channel and co-channel interference mitigation begins by considering the measurement model of equation (2). An orthogonal projection onto the space spanned by the columns of H and S may be decomposed as shown in FIG. 2.PHS=PS+PPS⊥H=PS+PG  (5)
where: PS=S(STS)−1ST, PPS⊥H=PS⊥H(HTPS⊥H)−1HTPS⊥ and PS⊥=I−PS are projection matrices, and G=PS⊥H.
Two cases of the detection problem were considered. In the first case, it is assumed that the measurement noise variance is known, while in the second case it is assumed that it is unknown.
Case 1: Known Measurement Noise Variance
Assuming that the variance of the measurement noise is known to be σ2, the test statistic for detecting signals in the subspace H, with interference from S is given by Scharf L. L. and B. Friedlander, “Matched Subspace Detectors,” IEEE Trans Signal Proc SP-42:8, pp. 2146–2157 (August 1994):
                              ϕ          ⁡                      (            y            )                          =                                            y              T                        ⁢                          P              G                        ⁢            y                                σ            2                                              (        8        )            
Case 2: Unknown Measurement Noise Variance
The uniformly most powerful (UMP) test for detecting contributions from H, while rejecting contributions from S, when the measurement noise variance is unknown, has been derived in the literature and is given by:
                              ϕ          ⁡                      (            y            )                          =                                            y              T                        ⁢                          P              G                        ⁢            y                                              y              T                        ⁢                          P              S              ⊥                        ⁢                          P              G              ⊥                        ⁢                          P              S              ⊥                        ⁢            y                                              (        9        )            
A concept presented by Scharf & Friedlander is to project the measurement y onto the space G and to perform the detection test in G. This projection onto G may be viewed in the following equivalent ways: parallel to the space S, perpendicular to the space that is perpendicular to S, and oblique to the space H.
Therefore, an efficient process by which an interference matrix may be constructed for the purpose of interference mitigation in the reception of coded signals is needed. In addition, a method and apparatus is needed that will construct an interference matrix for a coded signal-processing engine (CSPE). Several specific methods are discussed to implement the method and apparatus to provide efficient signal cancellation, which may facilitate acquisition, tracking and demodulation of the signal of interest.